package nl.haemers.data.reflection 
{
	
	/**
	 * ...
	 * @author Jonathan Haemers
	 */
	
	public interface IAccessor extends IProperty
	{
		function get acces() 			:String;
		function get declaredBy() 		:String;
		
		function get level() 			:int;		
		function get metadatas() 		:IMetadatas;
		
		function hasSerialize() 		:Boolean;
		function hasParent() 			:Boolean;
		function toString()				:String;
	}
	
	/*
		  <accessor name="addressVO" access="readwrite" type="nl.haemers.test.data.vo::AddressVO" declaredBy="nl.haemers.test.data.vo::TestVO">
			 <metadata name="Serialize">
			  <arg key="name" value="address"/>
			</metadata>
			<metadata name="__go_to_definition_help">
			  <arg key="file" value="D:\work\asjlib\trunk\src\nl\haemers\test\data\vo\TestVO.as"/>
			  <arg key="pos" value="1522"/>
			</metadata>
			<metadata name="__go_to_definition_help">
			  <arg key="file" value="D:\work\asjlib\trunk\src\nl\haemers\test\data\vo\TestVO.as"/>
			  <arg key="pos" value="1601"/>
			</metadata>
		  </accessor>
	*/
}